package com.wcs.exam.controller.admin.req;

import com.wcs.exam.common.base.annotation.SchemaEnum;
import com.wcs.exam.common.enums.ContentTypeEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.io.Serial;
import java.io.Serializable;

/**
 * <p>
 * Admin-系统配置-保存-请求参数
 * </p>
 *
 * @author wcs
 * @since 2024-07-06
 */
@Getter
@Setter
@Accessors(chain = true)
@Schema(description = "Admin-系统配置-保存-请求参数")
public class AdminSysConfigSaveReq implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @NotNull(message = "system.sys.config.config.show.not.null")
    @Schema(description = "配置展示")
    private Boolean configShow;

    @NotNull(message = "system.sys.config.config.type.not.null")
    @Schema(description = "配置类型")
    private Integer configType;

    @NotNull(message = "system.sys.config.content.type.not.null")
    @SchemaEnum(value = ContentTypeEnum.class, description = "内容类型")
    private Integer contentType;

    @NotBlank(message = "system.sys.config.config.name.not.null")
    @Schema(description = "参数名称")
    private String configName;

    @NotBlank(message = "system.sys.config.config.key.not.null")
    @Schema(description = "参数键名")
    private String configKey;

    @NotBlank(message = "system.sys.config.config.value.not.null")
    @Schema(description = "参数键值")
    private String configValue;

    @NotBlank(message = "system.sys.config.remark.not.null")
    @Schema(description = "备注")
    private String remark;
}
